﻿using SkiaSharp;
using System;

namespace UtilZ.Dotnet.ScottPlotEx
{
    internal interface IWaterfallPlot : IDisposable
    {
        /// <summary>
        /// 追加一帧数据
        /// </summary>
        /// <param name="specData">频谱数据</param>
        void AppendData(Span<double> specData);

        /// <summary>
        /// 追加连续的多帧数据
        /// </summary>
        /// <param name="specData">多行频谱数据</param>
        /// <param name="framCount">数据帧数</param>
        void AppendDatas(Span<double> specData,int framCount);

        /// <summary>
        /// 渲染图
        /// </summary>
        /// <param name="canvas"></param>
        /// <param name="rect"></param>
        void Render(SKCanvas canvas, SKRect rect);

        /// <summary>
        /// 获取图上指定坐标的值
        /// </summary>
        /// <param name="xIndex">x索引</param>
        /// <param name="yIndex">y索引</param>
        /// <returns>值</returns>
        double GetValue(int xIndex, int yIndex);

    }
}
